package org.edu.modules.jxrw.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Objects;

/**
 * @Description: 排课明细
 * @Author:
 * @Date:   2021-05-13
 * @Version: V1.0
 */
@Getter
@Setter
@ApiModel(value="pkmx查询参数", description="排课明细查询参数")
public class PkmxResult implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableField(exist = false)
    private Integer id;

    @ApiModelProperty(value = "学期ID")
    @TableField(exist = false)
    private Integer semid;

    @ApiModelProperty(value = "周几")
    @TableField(exist = false)
    private Integer week;

    @ApiModelProperty(value = "节")
    @TableField(exist = false)
    private Integer section;

    @ApiModelProperty(value = "任课教师userId")
    @TableField(exist = false)
    private Integer teacherid;

    @ApiModelProperty(value = "教师姓名")
    @TableField(exist = false)
    private String jsxm;

    @ApiModelProperty(value = "教室ID")
    @TableField(exist = false)
    private Integer jsid;

    @ApiModelProperty(value = "教室名")
    @TableField(exist = false)
    private String jsmc;

    @ApiModelProperty(value = "课程ID")
    @TableField(exist = false)
    private Integer kcid;

    @ApiModelProperty(value = "课程名称")
    @TableField(exist = false)
    private String kcmc;

    @ApiModelProperty(value = "终端ID")
    @TableField(exist = false)
    private Integer terminalid;

    @ApiModelProperty(value = "排课主表ID")
    @TableField(exist = false)
    private Integer pkid;

    @ApiModelProperty(value = "实际上的周数")
    @TableField(exist = false)
    private Integer pknum;

    @ApiModelProperty(value = "开始周")
    @TableField(exist = false)
    private Integer pkstartweek;

    @ApiModelProperty(value = "结束周")
    @TableField(exist = false)
    private Integer pkendweek;

    @ApiModelProperty(value = "教学任务Id")
    @TableField(exist = false)
    private Integer jxrwid;

    @ApiModelProperty(value = "行政班id，多个行政班用，隔开")
    @TableField(exist = false)
    private String xzbids;

    @ApiModelProperty(value = "是否合班")
    @TableField(exist = false)
    private Boolean isHb;

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        PkmxResult that = (PkmxResult) o;
        return Objects.equals(semid, that.semid) &&
                Objects.equals(week, that.week) &&
                Objects.equals(section, that.section) &&
                Objects.equals(teacherid, that.teacherid) &&
                Objects.equals(jsid, that.jsid);
    }

    @Override
    public int hashCode() {
        return Objects.hash(semid, week, section, teacherid, jsid);
    }
}
